#ifndef __MENU_FSM_H
#define __MENU_FSM_H

#ifdef __cplusplus
extern "C" {
#endif

#include "stdint.h"
#include "./Lw_Queue/lw_queue.h"
#include "autocar_global.h"

/********************宏定义********************/

#define QUE_MENU_MSG_LEN	8	/*菜单消息队列的长度*/

/********************类型定义********************/

/*菜单事件定义*/
enum menu_sinal
{
	DOWN_SIG, /*下翻事件*/
	CONFIRM_SIG, /*确认事件*/
	RETURN_SIG /*返回事件*/
};

/*菜单状态定义*/
enum menu_state
{
	PAGE_1,
	PAGE_2,
	PAGE_3,
	PAGE_4,
	MISSION_1,
	MISSION_2,
	MISSION_3,
	MISSION_4
};

/********************全局变量声明********************/
extern lwq_t menu_fsm_que; /*菜单状态机的消息队列*/
extern state_machine_t menu_fsm; /*菜单状态机*/

void menu_fsm_init(void);
void menu_fsm_dispatch(state_machine_t* me, param_event_t* e);

#ifdef __cplusplus
}
#endif

#endif
